package com.codermn.并发访问控制.基于volatile和CAS实现同步锁;

/**
 * <p>
 *     基于volatile和CAS实现同步锁原理
 * </p>
 * @author jxau_scf
 * @date 2021/8/30 - 19:39
 */
public class Demo {
    public static void main(String[] args) {
        /*

        //伪代码
        volatile state = 0 ;   // 0-无锁 1-加锁；volatile禁止指令重排，加入内存屏障
            ...
        if(cas(state, 0 , 1)){ // 1 加锁成功，只有一个线程能成功加锁
            ...                // 2 同步代码块
            cas(state, 1, 0);  // 3 解锁时2的操作具有可见性
        }

         */


    }
}
